#ifndef __MESSAGE_H__
#define __MESSAGE_H__



#include "config.h"


typedef void(*Msg_Handler)(void);//消息回调函数类型


typedef enum //定义消息枚举类型
{
	MSG_NULL = 0,

	//添加用户消息常量，例如：MSG_XXX,
	MSG_KEY1_PRESS,
	MSG_KEY2_PRESS,

	MSG_UART1_REC_FINISH,//串口1接收到一帧数据消息

	MSG_NUM
	
}MsgId_TypeDef;

typedef struct 
{
	MsgId_TypeDef 	MsgId;         	//系统消息类型，比如：MSG_USART1_REC_FINISH，代表串口1接收一帧数据结束
	unsigned char 	Msg_Parameter; 	//系统消息参数，比如：当消息类型为MSG_USART1_REC_FINISH，msg_parameter代表帧长度
	Msg_Handler 	Msg_Handler;   	//消息处理回调函数
}SysMsg_TypeDef;


extern struct rt_ringbuffer msg_ring_buf;



int 	Msg_Init(void);      	//系统消息初始化 
void 	Msg_Process(void);  	//系统消息处理



#endif


